#pragma once
#include "Vector2d.h"

class CameraComponent;

class CameraHelper
{
    friend class CameraSystem;

public:
    CameraHelper();
    ~CameraHelper();

    static Vector2D<s32> GetLogicalXYPosition(const Vector2D<s32>& position, const Vector2D<u32>& logicalResolution);
    static Vector2D<s32> AbsoluteToLogicalPosition(const Vector2D<s32>& position, const Vector2D<u32>& logicalResolution);
    static Vector2D<s32> LogicalToAbsolutePosition(const Vector2D<s32>& position, const Vector2D<u32>& logicalResolution, bool fTop);
    static bool IsOnTop(const Vector2D<s32>& position, const Vector2D<u32>& logicalResolution);

private:
    static void SetCameras(CameraComponent* pTopCamera, CameraComponent* pBottomCamera);

private:
    static CameraComponent* m_pTopCamera;
    static CameraComponent* m_pBottomCamera;
};

